Привет, Хабр.
На днях Siemargl предложил мне перевести любопытную статью о победе над юниксовым wc
при помощи хаскеля. Переводить её я, конечно же, не буду, и по нескольким причинам:
- автор выжал из однопоточной версии далеко не всё, и однопоточная версия была существенно медленнее
wc
, - в той статье для победы потребовалось воспользоваться многопоточностью (что само по себе немного читерство и победа скорее над здравым смыслом, а не над
wc
), - для этого автору пришлось углубляться в
трихомонады и моноиды — не, это отличная иллюстрация прелестей моноидального мышления, но ИМХО немного перебор для такой задачи, тем более, что из-за этого - код получился излишне объёмным,
- да и вообще, соревноваться с
wc
, которая имеет кучу опций и фич, реализуя её ну очень игрушечный аналог, вообще как-то странно и даже немного глуповато.
Тем не менее, заниматься странными делами — дело хорошее, поэтому сегодня мы попробуем исправить